return {
    ['flame'] = {
        glyph = '*',
        name = 'flame',
        priority = 10,
        color = { 400, 200, -100 },
        duration = 100,
        effect = 'burn',
        passive = function(self, game)
            local x1, y1 = game:roll(1, 3) - 2, game:roll(1, 3) - 2
            for x = self.x - x1, self.x + x1 do for y = self.y - y1, self.y + y1 do
                if game.scene:putCloud(x, y, 'smoke') then return end
            end end
        end,
    },
    ['smoke'] = {
        glyph = '}',
        name = 'smoke',
        priority = 20,
        obscure = true,
        color = { 120, 120, 120 },
        duration = 200,
        dissipate = 0.2,
    },
    ['fog'] = {
        glyph = '*',
        name = 'fog',
        priority = 30,
        obscure = true,
        color = { 200, 200, 240 },
        duration = 200,
        dissipate = 0.1,
    },
}
